Proving Theorems by Program Transformation

نویسندگان

  • Fabio Fioravanti
  • Alberto Pettorossi
  • Maurizio Proietti
  • Valerio Senni
چکیده

In this paper we present an overview of the unfold/fold proof method, a method for proving theorems about programs, based on program transformation. As a metalanguage for specifying programs and program properties we adopt constraint logic programming (CLP), and we present a set of transformation rules (including the familiar unfolding and folding rules) which preserve the semantics of CLP programs. Then, we show how program transformation strategies can be used, similarly to theorem proving tactics, for guiding the application of the transformation rules and inferring the properties to be proved. We work out three examples: (i) the proof of predicate equivalences, applied to the verification of equality between CCS processes, (ii) the proof of first order formulas via an extension of the quantifier elimination method, and (iii) the proof of temporal properties of infinite state concurrent systems, by using a transformation strategy that performs program specialization.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculi

A number of program transformations currently of interest can be derived from Wadler's \free theorems" for calculi approximating modern functional languages. Although delicate but fundamental issues arise in proving the correctness of free theorems-based program transformations, these issues are usually left unaddressed in correctness proofs appearing in the literature. As a result, most such p...

متن کامل

Fixed points of holomorphic transformations of operator balls

A new technique for proving fixed point theorems for families of holomorphic transformations of operator balls is developed. One of these theorems is used to show that a ∗Supported by St. John’s University Summer Support of Research Program

متن کامل

Analysis and transformation of proof procedures

Automated theorem proving has made great progress during the last few decades. Proofs of more and more diicult theorems are being found faster and faster. However, the exponential increase in the size of the search space remains for many theorem proving problems. Logic program analysis and transformation techniques have also made progress during the last few years and automated theorem proving ...

متن کامل

Proving Correctness via Free Theorems

Free theorems feature prominently in the field of program transformation for pure functional languages such as Haskell. However, somewhat disappointingly, the semantic properties of so based transformations are often established only very superficially. This paper is intended as a case study showing how to use the existing theoretical foundations and formal methods for improving the situation. ...

متن کامل

Program Reenement by Theorem Prover

We describe a prototype tool for developing programs by stepwise reenement in a weakest precondition framework, based on the HOL theorem proving system. Our work is based on a mechanisation of the reenement calculus, which is a theory of correctness preserving program transformations. We also use a tool for window inference that is part of the HOL system. Our tool permits subcomponents of a pro...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Fundam. Inform.

دوره 127  شماره 

صفحات  -

تاریخ انتشار 2013